There are many applications of high precision time synchronization over packet networks based on packet technologies like IP and Ethernet. Synchronization is a key requirement in telecommunication networks and the telecommunication industry has become a driving force in the development and evolution of synchronization solutions and standards. For example, wireless technologies like GSM, UMTS (both frequency division duplexing (FDD) and time division duplexing (TDD) versions of the UMTS technologies), and CDMA2000 require frequency accuracy of 0.05 ppm (parts per million) at the air interface.
In addition, CDMA2000 requires time synchronization at the ±3 μs level (±10 μs worst case) and UMTS TDD modes (i.e., TD-CDMA and TD-SCDMA) require accuracy off 1.25 μs between base stations. The accurate reference clock is typically derived from Time Division Multiplexing (TDM) interfaces (for GSM, UMTS-FDD (i.e., W-CDMA) and other FDD based technologies) or from expensive GPS receivers located at the base station (for TDD based technologies). In reality, TDD base stations today use GPS and wireless operators have long sought alternative synchronization sources.
Without synchronization traceable to a highly accurate reference clock in the wireless network, local interference between channel frequencies, as well as mutual interference with neighboring base stations will occur. This could ultimately cause calls to be dropped and a degradation of the overall user experience. The high level of synchronization provided by IEEE 1588 PTP could also be useful in time-of-arrival (TOA) and time-difference-of-arrival (TDOA) based localization solutions where one is interested in locating mobile nodes connected to a wireless network.
IEEE 1588 PTP has been designed as an improvement to current methods of synchronization within a distributed network of devices connected to a packet network. It is designed for systems requiring very high accuracies beyond those attainable using Network Time Protocol (NTP). Unlike NTP, IEEE 1588 uses hardware timestamping to deliver timing accuracy well under a microsecond (nanosecond level accuracies). It is also designed for applications that cannot bear the cost of a GPS receiver at each node, or for which GPS signals are inaccessible.
IEEE 1588 PTP can be used for distributing timing information (frequency and time) from a master to one or more slaves. The clock recovery mechanism at a slave will normally have to correct for both frequency and time deviations from the master clock during clock recovery.
Synchronous Ethernet (Sync-E), defined in a suite of ITU-T Recommendations, describes a method for frequency (only) distribution over the physical layer of Ethernet (IEEE 802.3). Since time synchronization requires both frequency and time offset alignment between master and slave clocks, some solutions suggest the combine use of Sync-E and IEEE 1588 PTP where Sync-E provides frequency alignment while IEEE 1588 PTP provides time offset correction.
In this setup of hybrid Sync-E and IEEE 1588 PTP, Sync-E provides perfectly a frequency synchronization signal using Ethernet physical layer frequency transfer, while IEEE 1588 PTP provides time synchronization over the packet network (above the physical layer). With frequency synchronization provided, the only issue here is determining the time offset between slave and master clocks. The time offset should be fixed (a constant) since slave's frequency is aligned to the master's. However, even for time offset determination, the problem here is that IEEE 1588 PTP messages are still exposed to the PDVs inherent in the packet network even though frequency synchronization is available through Sync-E. This is particularly the case if PTP messages are sent end-to-end from master to slave with the intermediate packet network providing no assistance whatsoever (like hop-by-hop Boundary Clocks or Transparent Clocks) to mitigate and compensate for PDV.
PDV therefore still makes time synchronization a challenge even though the frequency synchronization aspect is solved.
A complete IEEE 1588-based solution includes clock recovery (control) algorithms, filters, and PTP-clock based on hardware timer and direct timer access. The IEEE 1588 standards define a wide range of synchronization capabilities except the clock recovery mechanisms (servo algorithm, phase-locked loop (PLL), timers, etc.) to be used at the receiver (slave) to synchronize its local clock to the master. The last pieces are vendor and proprietary solutions and are often product differentiators.
Effects of Packet Delay Variations on Clock Synchronization
PDV is the main factor affecting the accuracy and stability of slave clocks when using packet timing protocols such as IEEE 1588 PTP. Packet network devices such as switches and routers introduce a variable delay to packets (PDV) that inhibits accurate path delay measurements and clock synchronization. Even for techniques that do not require path delay measurements for clock (e.g., frequency) synchronization, the PDV is a direct contributor to the noise in the recovered clock. The PDV inherent in packet networks is a primary source of clock noise. The higher the clock noise, the poorer the clock quality rendering the recovered clock sometimes unusable for end system applications when the noise exceeds application defined thresholds. (The term clock noise here refers to all impairments to the timing information recovered at the slave including jitter, wander, and other imperfections in the recovered clock.)
For instance, for time synchronization, the variation in delay from packet to packet through the network induces noise in the slave's perception of the time at the master. Constant delay (assuming frequency synchronized clocks) would cause a fixed offset, however variable delay causes a varying estimate of the offset. The performance of the slave is affected by both the magnitude of this variation, and how effective the slave's filter is at removing this noise.
Synchronous Ethernet
Clock synchronization methods fall under two broad categories, namely: Layer 1 methods, and Layer 2 and higher methods (Layer 2+) of the OSI model of communication. A schematic of the Layer 1 methods is shown in FIG. 1. A schematic of the Layer 2+ methods is shown in FIG. 2.
The Layer 1 (e.g., Sync-E, PDH, SONET/SDH), and Layer 2+ methods (e.g., NTP, IEEE 1588 PTP) differ mainly in the method used to inject and transport synchronization over the network 2 from a reference clock 1. Layer 1 methods achieve synchronization via the physical layer 4a, 4b bit stream while the Layer 2+ methods do so using higher levels 5a, 5b above the physical layer, for example, via differential clocking mechanisms, processing transmitted clock samples (timestamps) encoded within the packets from a transmitter to a receiver, or processing packet arrival patterns at the receiver to generate timing signals. Layer 1 methods generally support frequency transfer only while Layer 2+ methods support both frequency and time transfer.
ITU-T Recommendations G.8261, G.8262, G.8264 (which define Sync-E) indicate that synchronization can be achieved over Ethernet links by synchronizing the bit clock of the physical layer as is currently done on SONET/SDH links. The clock distribution aspect of Sync-E is essentially native Ethernet equipped with point-to-point distribution of timing signals. By enabling point-to-point distribution of timing signals from an accurate timing reference source, Sync-E aims to bring carrier grade telecom quality clocks to packet networks. Sync-E, unlike IEEE 1588, cannot deliver absolute time (i.e., time-of-day, wall-clock); Sync-E provides frequency distribution only.
The most significant aspect of native Ethernet communications is that the transmitter and receiver clocks are independent (free-running with frequency accuracy not exceeding ±100 parts per million (ppm)) as shown in FIG. 3 and are not synchronized as in TDM networks. In fact, there need be no strict timing relationship between successive frames as individual frames are separated by an idle period or at a minimum an inter-packet gap (IPG). The Ethernet transmitter delimits each packet by a start sequence (“preamble”) and a stop sequence (“start-of-idle” or “end-of-stream delimiter”). At the receiver, a clock of the same nominal frequency is recovered and used to clock-in the data to a receive shift register. Only data that are bounded by the correct start and stop bit patterns are accepted.
Sync-E implements timing similar to what is seen in traditional TDM networks (e.g., PDH, SONET/SDH): the physical layer of an Ethernet link is used to deliver timing from one end of the link to the other. Timing transfer is achieved by enslaving the downstream link's Ethernet physical layer clock to the upstream clock. FIG. 4 shows the transmission of frequency from a master 10 to a slave 20. Synchronization is achieved through the use of a digital phase-locked loop (PLL) 6a, 6b in each of the master and slave. The PLL cleans (improves) the incoming clock signal in the slave 20 to filter out jitter and wander and in turn generates the necessary output clock(s), telecom and/or Ethernet clocks, for the receiving interfaces and devices.
FIG. 5 shows the way in which timing transfer is achieved across a sequence of Ethernet nodes 30a-c (although 3 nodes are shown in FIG. 5, it will be appreciated that this configuration can be extended to cover significantly larger networks). Each node has its own crystal oscillator 31 which drives a local clock. The local clock is synchronized to the reference frequency 1 by timing transfer over the physical layer 4 components and the clock signals recovered using the PLL 6a-c as described above. Effectively each node acts as a slave to its neighbour node in the “upstream” direction of the node 30a having the frequency reference 1 and as a master to its neighbour node(s) in the “downstream” direction.
The obvious advantage of this approach is that, by relying on the physical layer only, clock synchronization quality is not influenced by impairments introduced by the upper layers, namely, packet delay variation (PDV), packet losses, and out-of-order arrival of packets at their destinations.
The 10 Mb/s version of Ethernet cannot support Sync-E. In fact, the 10 Mb/s Ethernet (10BASE-T) is not even capable of synchronization signal transmission over the physical layer interface because a 10BASE-T transmitter stops sending pulses during idle periods. A 10BASE-T transmitter simply sends a single pulse, keepalive pulse, every 16 ms to notify its presence to the receiving end. Of course, such infrequent pulses are not sufficient for clock recovery at the receiver. Idle periods in faster Ethernet flavors (100 Mb/s, 1 Gb/s and 10 Gb/s) are continuously filed with pulse transitions, allowing continuous high-quality clock recovery at the receiver and are therefore good candidates for Sync-E.
IEEE 1588 PTP
IEEE 1588 is now the industry accepted packet-based method/standard for synchronization of clocks in distributed systems with accuracies in the nanosecond levels. PTP can be used for both time and frequency synchronization, unlike Sync-E which allows for only frequency synchronization. PTP is a message based protocol that can be implemented across packet based networks including, but not limited to, Ethernet. Its underlying principle is a master/slave concept based on the regular exchange of synchronization messages. IEEE 1588 synchronizes all clocks within a network by allowing clocks to adjust their frequency/time to the highest quality clock (the GrandMaster clock).
IEEE 1588 PTP allows for two different types of timestamping methods, either one-step or two-step. One-step clocks update time information within event messages (Sync and Delay_Req) on-the-fly, while two-step clocks convey the precise timestamps of packets in general messages (Follow_Up and Delay_Resp).
A Sync message is transmitted by a master to its slaves and either contains the exact time of its transmission or is followed by a Follow_Up message containing this time. In a two-step ordinary or boundary clock, the Follow_Up message communicates the value of the departure timestamp for a particular Sync message. A Delay_Req message is a request for the receiving node to return the time at which the Delay_Req message was received, using a Delay_Resp message.
The message exchange pattern for the two-step clock can be explained as follows and is illustrated in FIG. 6. The master 101 sends a Sync message to the slave 103 over the packet network 102 and notes the time T1 at which it was sent. The slave 103 receives the Sync message and notes the time of reception T2. The master 101 conveys to the slave the timestamp T1 by one of two ways: 1) Embedding the timestamp T1 in the Sync message (a one-step clock—not illustrated). This requires some sort of hardware processing (i.e., hardware timestamping) for highest accuracy and precision. 2) Embedding the timestamp T1 in a Follow_Up message (the two-step clock as shown in FIG. 6). Next, the slave 103 sends a Delay_Req message to the master 101 and notes the time T3 at which it was sent. The master 101 receives the Delay_Req message and notes the time of reception T4. The master 101 conveys to the slave 103 the timestamp T4 by embedding it in a Delay_Resp message.
At the end of this PTP message exchange, the slave 103 possesses all four timestamps {T1, T2, T3, T4}. These timestamps may be used to compute the offset of the slave's clock 105 with respect to the clock reference 104 in the master 101 and the mean propagation time of messages between the two clocks. The computation of offset and propagation time assumes that the master-to-slave and slave-to-master propagation times are equal—symmetrical communication path.
The present invention aims to provide a method for time offset alignment with IEEE 1588 PTP with PDV compensation.